<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script type="text/javascript">

    function SuperType (name) {
        this.name = name
        this.colors = ['red', 'orange', 'yellow', 'green']
    }
    SuperType.prototype.sayName = function () {
        console.log(this.name)
    }
    function SubType(name, age) {
        //继承属性
        SuperType.call(this, name)
        this.age = age
    }
    // 继承方法（重写SubType的原型对象）
    // 使SubType的实例有SuperType的原型对象上的方法
    SubType.prototype = new SuperType()
    // SubType.prototype.constructor = SubType
    // 使SubType实例有SubType的原型对象上的方法
    SubType.prototype.sayAge = function () {
        console.log(this.age)
    }

    var instance1 = new SubType('实例一', 1)
    instance1.sayAge()  // 1
    instance1.sayName() // 实例一
    var instance2 = new SubType('实例二', 2)
    instance2.sayAge()  // 2
    instance2.sayName() // 实例二

</script>

</body>
</html>
